#pragma once

/**
 * @brief noncopyable被继承后，派生类可以进行构造和析构，但是无法进行赋值和拷贝
 *
 */
class noncopyable
{
public:
    noncopyable(const noncopyable &) = delete;
    noncopyable &operator=(const noncopyable &) = delete;

protected:
    noncopyable() = default;
    ~noncopyable() = default;
};